home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-08-16 | 3.9 KB | 138 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWLnkIte.h
- // Release Version: $ ODF 1 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
- //
- // This file contains the following iterators
- //
- // - FW_CPartLinkSourceIterator
- //
- // - FW_CPartLinkDestIterator
- //
-
- #ifndef FWLNKITE_H
- #define FWLNKITE_H
-
- #ifndef FWSTDDEF_H
- #include "FWStdDef.h"
- #endif
-
- #ifndef FWEXCLIB_H
- #include "FWExcLib.h"
- #endif
-
- #ifndef FWLINK_H
- #include "FWLink.h"
- #endif
-
- #ifndef FWLNKDST_H
- #include "FWLnkDst.h"
- #endif
-
- #ifndef FWLNKSRC_H
- #include "FWLnkSrc.h"
- #endif
-
- #ifndef FWPART_H
- #include "FWPart.h"
- #endif
-
- #ifndef FWLNKMGR_H
- #include "FWLnkMgr.h"
- #endif
-
- #ifndef FWORDCOL_H
- #include "FWOrdCol.h"
- #endif
-
- //========================================================================================
- // Forward Declarations
- //========================================================================================
-
- class FW_CPart;
-
- //========================================================================================
- // class FW_CPartLinkSourceIterator
- //========================================================================================
-
- class FW_CPartLinkSourceIterator : public FW_TOrderedCollectionIterator<FW_CLinkSource>
- {
- public:
- FW_DECLARE_AUTO(FW_CPartLinkSourceIterator)
-
- FW_CPartLinkSourceIterator(const FW_CPart* part) :
- FW_TOrderedCollectionIterator<FW_CLinkSource>(part->fLinkManager ? part->fLinkManager->fSourceLinkList : NULL) {}
- ~FW_CPartLinkSourceIterator() {}
- };
-
- //========================================================================================
- // class FW_CPartLinkDestIterator
- //========================================================================================
-
- class FW_CPartLinkDestIterator : public FW_TOrderedCollectionIterator<FW_CLinkDestination>
- {
- public:
- FW_DECLARE_AUTO(FW_CPartLinkDestIterator)
-
- FW_CPartLinkDestIterator(const FW_CPart* part) :
- FW_TOrderedCollectionIterator<FW_CLinkDestination>(part->fLinkManager ? part->fLinkManager->fDestLinkList : NULL) {}
- ~FW_CPartLinkDestIterator() {}
- };
-
- //========================================================================================
- // class FW_CLinkMgrLinkSourceIterator
- //========================================================================================
-
- class FW_CLinkMgrLinkSourceIterator : public FW_TOrderedCollectionIterator<FW_CLinkSource>
- {
- public:
- FW_DECLARE_AUTO(FW_CLinkMgrLinkSourceIterator)
-
- FW_CLinkMgrLinkSourceIterator(const FW_CLinkManager* linkMgr) :
- FW_TOrderedCollectionIterator<FW_CLinkSource>(linkMgr->fSourceLinkList) {}
- ~FW_CLinkMgrLinkSourceIterator() {}
- };
-
- //========================================================================================
- // class FW_CLinkMgrLinkDestIterator
- //========================================================================================
-
- class FW_CLinkMgrLinkDestIterator : public FW_TOrderedCollectionIterator<FW_CLinkDestination>
- {
- public:
- FW_DECLARE_AUTO(FW_CLinkMgrLinkDestIterator)
-
- FW_CLinkMgrLinkDestIterator(const FW_CLinkManager* linkMgr) :
- FW_TOrderedCollectionIterator<FW_CLinkDestination>(linkMgr->fDestLinkList) {}
- ~FW_CLinkMgrLinkDestIterator() {}
- };
-
- //========================================================================================
- // class FW_CLinkIterator
- //========================================================================================
-
- class FW_CLinkIterator
- {
- public:
- FW_DECLARE_AUTO(FW_CLinkIterator)
-
- FW_CLinkIterator(FW_CLinkManager* linkMgr);
- ~FW_CLinkIterator();
-
- FW_CLink* FirstLink();
- FW_CLink* NextLink();
- FW_Boolean IsNotComplete();
-
- private:
- FW_CLinkMgrLinkSourceIterator fFirstIterator;
- FW_CLinkMgrLinkDestIterator fSecondIterator;
- FW_CLink* fCurrentLink;
- FW_Boolean fIteratingSecondList;
- };
-
- #endif
-